package avicit.bdp.dms.tdm.dto;

import avicit.platform6.commons.utils.StringUtils;
import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.Id;
import avicit.platform6.core.annotation.log.LogField;
import avicit.platform6.core.annotation.log.PojoRemark;
import avicit.platform6.core.domain.BeanDTO;
import avicit.platform6.core.properties.PlatformConstant;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/** 据共享_需求响应DTO */
@ApiModel(value = "FtdpTdmReplyDTO", description = "数据共享_需求响应")
@PojoRemark(table = "bdp_dms_reply", object = "FtdpTdmReplyDTO", name = "数据共享_需求响应")
public class FtdpTdmReplyDTO extends BeanDTO {
  private static final long serialVersionUID = 1L;

  /** 主键 */
  @Id
  @LogField
  @ApiModelProperty(value = "主键", name = "id")
  @FieldRemark(column = "ID", field = "id", name = "主键")
  private String id;

  /** 供需目录ID */
  private String tdmSaddId;

  /** 发布ID(需求) */
  @ApiModelProperty(value = "发布ID(需求)", name = "tdmReleaseId")
  @FieldRemark(column = "TDM_RELEASE_ID", field = "tdmReleaseId", name = "发布ID(需求)")
  private String tdmReleaseId;

  /** 发布标题 */
  private String tdmReleaseTitle;

  /** 发布描述 */
  private String tdmReleaseRemark;

  /** 需求响应接收人 */
  @ApiModelProperty(value = "需求响应接收人", name = "replyOperator")
  @FieldRemark(column = "REPLY_OPERATOR", field = "replyOperator", name = "需求响应接收人")
  private String replyOperator;

  private String replyOperatorName;

  /** 响应接收时间 */
  @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  @ApiModelProperty(value = "响应接收时间", name = "receiveTime")
  @FieldRemark(column = "RECEIVE_TIME", field = "receiveTime", name = "响应接收时间")
  private java.util.Date receiveTime;

  /** 响应接收时间起 */
  @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  private java.util.Date receiveTimeBegin;

  /** 响应接收时间止 */
  @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  private java.util.Date receiveTimeEnd;

  /** 响应内容 */
  @ApiModelProperty(value = "响应内容", name = "content")
  @FieldRemark(column = "CONTENT", field = "content", name = "响应内容")
  private String content;

  /** 引用已发布的ID */
  @ApiModelProperty(value = "引用已发布的ID", name = "quoteId")
  @FieldRemark(column = "QUOTE_ID", field = "quoteId", name = "引用已发布的ID")
  private String quoteId;

  private String quoteReleaseTitle;

  /** 接收状态 （1：未接收 2：已接收） */
  @ApiModelProperty(value = "接收状态", name = "receiveStatus")
  @FieldRemark(column = "RECEIVE_STATUS", field = "receiveStatus", name = "接收状态")
  private String receiveStatus;

  /** 响应状态(1未响应 2以响应) */
  @ApiModelProperty(value = "响应状态", name = "respondStatus")
  @FieldRemark(column = "RESPOND_STATUS", field = "respondStatus", name = "响应状态")
  private String respondStatus;

  private String respondStatusName;

  /** 审核状态 */
  @ApiModelProperty(value = "审核状态", name = "checkerStatus")
  @FieldRemark(column = "CHECKER_STATUS", field = "checkerStatus", name = "审核状态")
  private String checkerStatus;

  private String checkerStatusName;

  /** 需求响应审核人 */
  @ApiModelProperty(value = "需求响应审核人", name = "replyChecker")
  @FieldRemark(column = "REPLY_CHECKER", field = "replyChecker", name = "需求响应审核人")
  private String replyChecker;

  /** 编辑状态 */
  @ApiModelProperty(value = "编辑状态", name = "editStatus")
  @FieldRemark(column = "EDIT_STATUS", field = "editStatus", name = "编辑状态")
  private String editStatus;

  /** 扩展属性 */
  @ApiModelProperty(value = "扩展属性", name = "extAttr")
  @FieldRemark(column = "EXT_ATTR", field = "extAttr", name = "扩展属性")
  private String extAttr;

  /** 状态 */
  @ApiModelProperty(value = "状态", name = "status")
  @FieldRemark(column = "STATUS", field = "status", name = "状态")
  private String status;

  /** 描述 */
  @ApiModelProperty(value = "描述", name = "remark")
  @FieldRemark(column = "REMARK", field = "remark", name = "描述")
  private String remark;

  /** 数据权属 */
  @ApiModelProperty(value = "数据权属", name = "dataPerm")
  @FieldRemark(column = "DATA_PERM", field = "dataPerm", name = "数据权属")
  private String dataPerm;

  /** 数据来源 */
  @ApiModelProperty(value = "数据来源", name = "dataOrigin")
  @FieldRemark(column = "DATA_ORIGIN", field = "dataOrigin", name = "数据来源")
  private String dataOrigin;

  /** 创建时间起 */
  @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  private java.util.Date creationDateBegin;

  /** 创建时间止 */
  @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  private java.util.Date creationDateEnd;

  /** 最后修改时间起 */
  @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  private java.util.Date lastUpdateDateBegin;

  /** 最后修改时间止 */
  @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  private java.util.Date lastUpdateDateEnd;

  /** 密级 */
  @LogField private String secretLevelName;

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public String getTdmSaddId() {
    return tdmSaddId;
  }

  public void setTdmSaddId(String tdmSaddId) {
    this.tdmSaddId = tdmSaddId;
  }

  public String getReplyOperatorName() {
    return replyOperatorName;
  }

  public void setReplyOperatorName(String replyOperatorName) {
    this.replyOperatorName = replyOperatorName;
  }

  public String getTdmReleaseId() {
    return tdmReleaseId;
  }

  public void setTdmReleaseId(String tdmReleaseId) {
    this.tdmReleaseId = tdmReleaseId;
  }

  public String getTdmReleaseTitle() {
    return tdmReleaseTitle;
  }

  public void setTdmReleaseTitle(String tdmReleaseTitle) {
    this.tdmReleaseTitle = tdmReleaseTitle;
  }

  public String getTdmReleaseRemark() {
    return tdmReleaseRemark;
  }

  public void setTdmReleaseRemark(String tdmReleaseRemark) {
    this.tdmReleaseRemark = tdmReleaseRemark;
  }

  public String getReplyOperator() {
    return replyOperator;
  }

  public void setReplyOperator(String replyOperator) {
    this.replyOperator = replyOperator;
  }

  public java.util.Date getReceiveTime() {
    return receiveTime;
  }

  public void setReceiveTime(java.util.Date receiveTime) {
    this.receiveTime = receiveTime;
  }

  public java.util.Date getReceiveTimeBegin() {
    return receiveTimeBegin;
  }

  public void setReceiveTimeBegin(java.util.Date receiveTimeBegin) {
    this.receiveTimeBegin = receiveTimeBegin;
  }

  public java.util.Date getReceiveTimeEnd() {
    return receiveTimeEnd;
  }

  public void setReceiveTimeEnd(java.util.Date receiveTimeEnd) {
    this.receiveTimeEnd = receiveTimeEnd;
  }

  public String getContent() {
    return content;
  }

  public void setContent(String content) {
    this.content = content;
  }

  public String getQuoteId() {
    return quoteId;
  }

  public void setQuoteId(String quoteId) {
    this.quoteId = quoteId;
  }

  public String getReceiveStatus() {
    return receiveStatus;
  }

  public void setReceiveStatus(String receiveStatus) {
    this.receiveStatus = receiveStatus;
  }

  public String getQuoteReleaseTitle() {
    return quoteReleaseTitle;
  }

  public void setQuoteReleaseTitle(String quoteReleaseTitle) {
    this.quoteReleaseTitle = quoteReleaseTitle;
  }

  public String getRespondStatus() {
    return respondStatus;
  }

  public void setRespondStatus(String respondStatus) {
    this.respondStatus = respondStatus;
  }

  public String getRespondStatusName() {
    return respondStatusName;
  }

  public void setRespondStatusName(String respondStatusName) {
    this.respondStatusName = respondStatusName;
  }

  public String getCheckerStatusName() {
    return checkerStatusName;
  }

  public void setCheckerStatusName(String checkerStatusName) {
    this.checkerStatusName = checkerStatusName;
  }

  public String getCheckerStatus() {
    return checkerStatus;
  }

  public void setCheckerStatus(String checkerStatus) {
    this.checkerStatus = checkerStatus;
  }

  public String getReplyChecker() {
    return replyChecker;
  }

  public void setReplyChecker(String replyChecker) {
    this.replyChecker = replyChecker;
  }

  public String getEditStatus() {
    return editStatus;
  }

  public void setEditStatus(String editStatus) {
    this.editStatus = editStatus;
  }

  public String getExtAttr() {
    return extAttr;
  }

  public void setExtAttr(String extAttr) {
    this.extAttr = extAttr;
  }

  public String getStatus() {
    return status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public String getDataPerm() {
    return dataPerm;
  }

  public void setDataPerm(String dataPerm) {
    this.dataPerm = dataPerm;
  }

  public String getDataOrigin() {
    return dataOrigin;
  }

  public void setDataOrigin(String dataOrigin) {
    this.dataOrigin = dataOrigin;
  }

  public java.util.Date getCreationDateBegin() {
    return creationDateBegin;
  }

  public void setCreationDateBegin(java.util.Date creationDateBegin) {
    this.creationDateBegin = creationDateBegin;
  }

  public java.util.Date getCreationDateEnd() {
    return creationDateEnd;
  }

  public void setCreationDateEnd(java.util.Date creationDateEnd) {
    this.creationDateEnd = creationDateEnd;
  }

  public java.util.Date getLastUpdateDateBegin() {
    return lastUpdateDateBegin;
  }

  public void setLastUpdateDateBegin(java.util.Date lastUpdateDateBegin) {
    this.lastUpdateDateBegin = lastUpdateDateBegin;
  }

  public java.util.Date getLastUpdateDateEnd() {
    return lastUpdateDateEnd;
  }

  public void setLastUpdateDateEnd(java.util.Date lastUpdateDateEnd) {
    this.lastUpdateDateEnd = lastUpdateDateEnd;
  }

  public String getSecretLevelName() {
    return secretLevelName;
  }

  public void setSecretLevelName(String secretLevelName) {
    this.secretLevelName = secretLevelName;
  }

  @Override
  public String getLogFormName() {
    if (StringUtils.isEmpty(super.logFormName)) {
      return "数据共享_需求响应";
    } else {
      return super.logFormName;
    }
  }

  @Override
  public String getLogTitle() {
    if (StringUtils.isEmpty(super.logTitle)) {
      return "数据共享_需求响应";
    } else {
      return super.logTitle;
    }
  }

  @Override
  public PlatformConstant.LogType getLogType() {
    if (super.logType == null) {
      return PlatformConstant.LogType.module_operate;
    } else {
      return super.logType;
    }
  }
}
